//index.js
//获取应用实例
//p152-155kan看书
//运行flowpath页面，根据控制台输出和flowpath.js的代码分析，弄清楚flowpath页面胡执行流程
//把流程用语言描述出来，或者翻译p154流程图，提交
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  //事件处理函数
  bindViewTap: function () {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function () {
    console.log("2：接着运行要出现页面的onLoad方法(页面加载）");
    if (app.globalData.userInfo) {
      console.log("66:出现这句话表明app.js中的wx.getSetting已经成功执行，获得了用户的信息，保存在全局变量中，然后下面将全局值赋值给页面对应的数据");
      this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })
    } else if (this.data.canIUse) {
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        console.log("44：出现这句话表明执行自定义方法userInfoReadyCallback，该方法是将用户信息从bindgetuserinfo回调中（即getUserInfo1）获取到用户信息，将其保存起来");
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        
        success: res => {
          console.log("55：低版本的没有open-type=getUserInfo功能，使用wx.getUserInfo方法来获取信息");
          app.globalData.userInfo = res.userInfo
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
        }
      })
    }
  },
  getUserInfo1: function (e) {
    console.log("按钮被按下，获取胡信息如下")
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  },
  /**
  * 生命周期函数--监听页面隐藏
  */
  onHide: function () {
    console.log("5：如果页面有隐藏了，运行onHide方法（监听页面隐藏）");
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    console.log("6:页面被销毁的时候运行onUnload");
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    console.log("4：再接下来运行该页面的onReady（监听页面初次渲染完成）");
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    console.log("3：再接下来运行该页面的onShow方法(监听页面显示)");
  },
})
